#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//求和
// int getsum(int a,int b)
// {
//     int sum;
//     sum=a+b;
//     return sum;
// }
// int main(void)
// {
//     int x=10,y=20;
//     int sum;
//     sum=getsum(x,y);
//     printf("sum=%d\n",sum);
// }

// //用函数来比较两个数的大小
// int max(int x,int y)
// {
//     int z;
//     if(x > y)
//     {
//         z = x;
//     }
//     else
//     {
//         z = y;
//     }
//     return z;
// }
// int main(void)
// {
//     // int a,b,c;
//     // printf("请输入两个数:");
//     // scanf("%d,%d",&a,&b);
//     // c=max(a,b);
//     // printf("c=%d\n",c);
//     //比较三个数的大小
//     // int x,y,z;
//     // printf("请输入三个数:");
//     // scanf("%d,%d,%d",&x,&y,&z);
//     // int max;
//     // if(x>y)
//     // {
//     //     if(x>z)
//     //     {
//     //         max=x;
//     //         printf("max=%d\n",max);
//     //     }
//     //     else
//     //     {
//     //         max=z;
//     //         printf("max=%d\n",max);
//     //     }  
//     // }
//     // else
//     // {
//     //     if(y>z)
//     //     {
//     //         max=y;
//     //         printf("max=%d\n",max);
//     //     }
//     //     else{
//     //         max=z;
//     //         printf("max=%d\n",max);
//     //     }
//     // }
//     //比较三个数的大小
//     int x,y,z,max;
//     printf("请输入三个数:");
//     scanf("%d,%d,%d",&x,&y,&z);
//     //第二种方法
//     //max=x>y?x:y;
//     //max=max>z?max:z;
//     //第三种方法
//     max=(x>y)?(x>z?x:z):(y>z?y:z);
//     printf("max=%d\n",max);
// }

// //数字炸弹
// int main(void)
// {
//     //随机种子
//     srand(time(NULL));//随机数
//     int res=rand()%101;//种子
//     int n=1;
//     int min=0,max=100;
//     int temp;//存入的数据
//     while(n<10)//最多10次
//     {
//         printf("请您输入一个整数%d~%d:",min,max);
//         scanf("%d",&temp);
//         if(temp==res)
//         {
//             printf("傻逼，你中弹了！\n");
//             break;
//         }
//         else if(temp<res)
//         {
//             printf("小了，再大一点点\n");
//             min=temp;
//         }
//         else{
//             printf("大了，再小一点点\n");
//             max=temp;
//         }
//         n++;
//     }
//     printf("您一共猜了%d次\n",n);
//     return 0;
// }

//奇数偶数
// int main(void)
// {
//     int a;
//     printf("请输入一个整数:");
//     scanf("%d",&a);
//     if(a<=0)
//     {
//         printf("输入有误，请重新输入\n");
//     }
//     else if(a%2==0)
//     {
//         printf("%d是偶数\n",a);
//     }
//     else{
//         printf("%d是奇数\n",a);
//     }
// }

//质数合数以及合数的因数
// int main(void)
// {
//     int a;
//     printf("请输入一个整数:");
//     scanf("%d",&a);
//     if(a<=1)
//     {
//         printf("您输入的%d既不是质数也不是合数\n",a);
//     }
//     else 
//     {
//         int i,b=0;
//         for(i=2;i<a/2;i++)
//         {
//             if(a%i==0)
//             {
//                 b=1;
//                 break;
//             }
//         }
//         if(b==1)
//         {
//             printf("您输入的%d是合数\n",a);
//             for(i=1;i<=a;i++)
//             {
//                 if(a%i==0)
//                 printf("%d\t",i);
//             }
//             printf("\n");
//         }
//         else{
//             printf("您输入的%d是质数\n",a);
//         }
//     }
// }

//判断一年是否为闰年
// int main(void)
// {
//     int i;
//     printf("请输入一个年份:");
//     scanf("%d\n",&i);
//     if(i%4==0 && i%100!=0 || i%100==0)
//     {
//         printf("%d是闰年\n",i);
//     }
//     printf("%d是平年\n",i);
//     return 0;
// }

//三角形
// *
// **
// ***
// ****
// *****
// int main(void)
// {
//     int i,j;
//     for(i=0;i<5;i++)//行数
//     {
//         for(j=0;j<=i;j++)//每行打印的星星
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
//     return 0;
// }
//     *
//    **
//   ***
//  ****
// *****
// int main(void)
// {
//     int i,j;
//     for(i=0;i<5;i++)
//     {
//         for(j=0;j<5-i;j++)
//         {
//             printf(" ");
//         }
//         for ( j = 0; j <=i; j++)
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
// }
// *****
// ****
// ***
// **
// *
// int main(void)
// {
//     int i,j;
//     for(i=0;i<5;i++)
//     {
//         for(j=0;j<5-i;j++)
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
// }
// *****
//  ****
//   ***
//    **
//     *
// int main(void)
// {
//     int i,j;
//     for(i=0;i<5;i++)
//     {
//         for(j=0;j<=i;j++)
//         {
//             printf(" ");
//         }
//         for(j=0;j<5-i;j++)
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
// }

//菱形
// int main(void)
// {
//     int i,j;
//     for(i=1;i<=5;i++)
//     {
//         for(j=1;j<=5-i;j++)
//         {
//             printf(" ");
//         }
//         for(j=1;j<=(2*i-1);j++)
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
//     for(i=4;i>=1;i--)
//     {
//         for(j=1;j<=5-i;j++)
//         {
//             printf(" ");
//         }
//         for(j=1;j<=(2*i-1);j++)
//         {
//             printf("*");
//         }
//         printf("\n");
//     }
// }
// int main(void)
// {
//     int i,j,n;
//     for(i=1;i<=4;i++)
//     {
//         n=1;
//         for(j=1;j<=i+3;j++)
//         {
//             if(n<=4-i)
//             {
//                 printf("-");
//                 n++;
//             }
//             else
//             {
//                 printf("*");
//             }
//         }
//         printf("\n");
//     }
//     for(i=1;i<=3;i++)
//     {
//         n=1;
//         for(j=1;j<=7-i;j++)
//         {
//             if(n<=i)
//             {
//                 printf("-");
//                 n++;
//             }
//             else
//             {
//                 printf("*");
//             }
//         }
//         printf("\n");
//     }
// }

// int main(void)
// {
//     char c;
//     int i,j,num;
//     printf("请输入一个大写字母：");
//     scanf("%c",&c);
//     char ch='A';
//     //确定行数num   "A"+1="B"
//     num = c - 'A';
//     for(i=1;i<=num;i++)
//     {
//         for(j=0;j<num-i;j++)
//         {
//             printf(" ");
//         }
//         for(ch='A';j<num;j++)
//         {
//             printf("%c",ch++);
//         }
//         for(j=1,ch-=2;j<i;j++,ch--)
//         {
//             printf("%c",ch);
//         }
//         printf("\n");
//     }
//     return 0;
// }

// int main(void)
// {
//     //字符串的反序
//     char str[100]={'0'};
//     int len=0;
//     int i,j;
//     printf("请输入一串字符串：\n");
//     fgets(str,sizeof(str),stdin);//代替了gets函数 fgets函数将回车读入
//     //找到字符串的末尾---求长度
//     while(str[len])//===>str[len]!=0  ===>str[len]!='\0' 因为'\0'的ASCII值是0
//     {
//         len++;
//     }
//     len--;//换行
//     printf("len=%d\n",len);//只是当前有效字符的长度
//     len--;//'\0'的下标
//     //反序存放
//     for(i=0,j=len;i<j;i++,j--)
//     {
//         char temp=str[i];
//         str[i]=str[j];
//         str[j]=temp;
//     }
//     puts(str);//输出字符串函数
//     return 0;
// }

// double score[5][5]=
// {
//     86,94,87,92,95,
//     68,75,82,76,57,
//     54,65,79,86,45,
//     43,54,65,57,42,
//     53,57,75,64,54
// };
// double subAvg[5]={0};//保存5门课程平均分
// double stuAvg[5]={0};//保存5个学生平均分
// //获取学生平均分  为第二问和第三问做准备
// void getstuAvg(void)
// {
//     int i,j;//i:行(学生) j:列(课程)
//     for(i=0;i<5;i++)
//     {
//         for(j=0;j<5;j++)
//         {
//             stuAvg[i]+=score[i][j];
//         }
//         stuAvg[i]/=5;
//     }
// }
// void one(void)
// {
//     int i,j;//i:行(学生) j:列(课程)
//     for(j=0;j<5;j++)
//     {
//         for(i=0;i<5;i++)
//         {
//             subAvg[j]+=score[i][j];//求和
//         }
//         //此时subAvg[j]就是j门课程的总分
//         subAvg[j]/=5;//得到了平均分
//         printf("%d门课程的平均分为%.2lf\n",j,subAvg[j]);
//     }
// }
// void two(void)
// {
//     int i,j,cnt;//i:行(学生) j:列(课程) cnt:计数
//     printf("2门以上不及格的学生有：\n");
//     for(i=0;i<5;i++)
//     {
//         cnt=0;//刷新计数
//         for(j=0;j<5;j++)
//         {
//             if(score[i][j]<60)
//             {
//                 cnt++;//计数
//             }
//         }
//         //内循环结束后 cnt记录的是第i个学生的不及格门数
//         if(cnt>=2)
//         {
//             printf("序号；%d\t所有成绩为：",i);
//             for(j=0;j<5;j++)
//             {
//                 printf("%.1lf ",score[i][j]);
//             }
//             printf("平均分为%.2lf\n",stuAvg[i]);
//         }
//     }
// }
// void three(void)
// {
//     int i,j,cnt;
//     for(i=0;i<5;i++)
//     {
//         cnt=0;
//         for(j=0;j<5;j++)
//         {
//             if(score[i][j]>=85)
//             {
//                 cnt++;
//             }
//         }
//         if(cnt>=5||stuAvg[i]>=90)
//         {
//             printf("5门课程85分以上或者平均分在90分以上的同学有：");
//             printf("%d\n",i);
//         }
//     }
// }
// int main(void)
// {
//     getstuAvg();
//     one();
//     two();
//     three();
//     return 0;
// }

// int mystrlen(char str[])
// {
//     int count=0;
//     while(str[count])
//     {
//         count++;
//     }
//     return count;
// }
// void mystrcat(char str1[],char str2[])
// {
//     int i=0,j=0;
//     while(str1[i])
//     {
//         i++;
//     }
//     while(str2[j])
//     {
//         str1[i]=str2[j];
//         i++;
//         j++;
//     }
//     str1[i]='\0';
// }
// int mystrcmp(char s1[], char s2[]) 
// {
//     int i = 0;
//     while (s1[i]&& s2[i]) {
//         if (s1[i] != s2[i]) {
//             return s1[i] - s2[i];
//         }
//         i++;
//     }
//     return s1[i] - s2[i];
// }
// int main(void)
// {
//     //long len=mystrlen("zhangsan");
//     //printf("strlen函数 s1-len:%ld\n",len);
//     char num1[20]={"abcdefg"};
//     char num2[20]={"hijklmn"};
//     printf("%d\n",strcmp(num1,num2));
//     printf("%d\n",mystrcmp(num1,num2));
//     //mystrcat(num1,num2);
//     //puts(num1);
//     // int res =mystrcat("zhangsan","lisi");
//     // puts(res);
// }

// #define N 10
// char name[N][10];//黑板
// int Num[N]={0};//票数
// int curmanNum=0;//当前入围人数
// void ticket(void)
// {
//     int i=0,j;
//     char tempname[20];
//     while(1)
//     {
//         printf("请投票：");
//         scanf("%s",tempname);//输入姓名存入tempname
//         for(j=0;j<curmanNum;j++)
//         {
//             if(strcmp(tempname,name[j])==0)//找到了
//             {
//                 Num[j]++;//票数+1
//                 //不找了
//                 break;
//             }
//         }
//         //如果j等于当前入围人数 说明刚才输入的这个人名暂时没有入围，此时应该将此人加入名单
//         if(j==curmanNum)
//         {
//             strcpy(name[curmanNum],tempname);
//             Num[curmanNum]=1;//票数为1
//             //当前入围人数+1
//             curmanNum++;
//         }
//         i++;
//         if(i>=N)
//         {
//             break;
//         }
//     }
// }
// void output(void)
// {
//     int i;
//     printf("得票情况如下：\n");
//     for(i=0;i<curmanNum;i++)
//     {
//         printf("%s:%d票\n",name[i],Num[i]);
//     }
// }
// int main(void)
// {
//     ticket();
//     output();
// }

// int mystrlen(const char*s)
// {
//     const char *p=s;//首地址
//     while(*s)//等价于 *s！=0 等价于*s!='\0'
//     s++;

//     return s-p;
// }
// void mystrcat(char *p,char *q)
// {
//     while((*p) != '\0')
//     p++;
//     while((*q) != '\0')
//     {
//         *p = *q;
//         p++;
//         q++;
//     }
//     *p ='\0';
// }
// int mystrcmp(char *p,char *q)
// {
//     while(*p != '\0'  && *p != '\0')
//     {
//         if(*p != *q)
//         {
//             return *p-*q;
//         }
//         p++;
//         q++;
//     }
//     return *q-*p;
// }
// void mystrcpy(char *p,char *q)
// {
//     while((*q) != '\0')
//     {
//         *p=*q;
//         p++;
//         q++;
//     }
//     *p='\0';
// }
// int main(void)
// {
//     char num1[20]={"abcdefg"};
//     char num2[20]={"hijklmn"};
//     printf("strlen:%ld\n",strlen(num1));
//     printf("mystrlen:%d\n",mystrlen(num1));
//     mystrcat(num1,num2);
//     puts(num1);
//     printf("%d\n",strcmp(num1,num2));
//     printf("%d\n",mystrcmp(num1,num2));
//     mystrcpy(num1,num2);
//     printf("%s\n",num1);
// }

// int main(void)
// {
//     int num[10]={1,2,3,4,5,6,7,8,9,10};
//     int i;
//     int *p=num;
//     int *q=num + sizeof(num)/sizeof(num[0]) -1;
//     for(i=0;i<10;i++)
//     {
//         printf("%d\t",num[i]);
//     }
//     printf("\n");
//     while(p<q)
//     {
//         int temp=*p;
//         *(p++)=*q;
//         *(q--)=temp;
//     }
//     for(i=0;i<10;i++)
//     {
//         printf("%d\t",num[i]);
//     }
//     printf("\n");
//     return 0;
// }

// void rotate_matrix(int (*oring)[4],int (*out)[4],int len)
// {
//     for(int i=0;i<len;i++)
//     {
//         for(int j=0;j<len;j++)
//         {j
//             out[j][len-i-1]=oring[i][j];//旋转后的i等于旋转前的j，旋转后的j等于len-旋转前的i再减1
//         }
//     }
// }
// int main(void)
// {
//     int oring[4][4]={
//         {1,2,3,4},
//         {2,3,4,5},
//         {3,4,5,6},
//         {4,5,6,7}
//     };
//     int out[4][4];
//     int len=4;
//     rotate_matrix(oring,out,len);
//     for(int i=0;i<len;i++)
//     {
//         for(int j=0;j<len;j++)
//         {
//             printf("%d\t",out[i][j]);
//         }
//         printf("\n");
//     }
// }

// int main(void)
// {
//     int num[4][5];
//     int *p_num[4];//定义指针数组
//     int i;
//     for(i=0;i<4;i++)
//     {
//         p_num[i]=num[i];//通过*p_num访问num
//     }
//     int value=1;
//     for(i=0;i<4;i++)
//     {
//         for(int j=0;j<5;j++)
//         {
//             p_num[i][j]=value++;//赋值
//         }
//     }
//     int (*p)[5]=num;//定义数组指针
//     for(i=0;i<4;i++)
//     {
//         for(int j=0;j<5;j++)
//         {
//             printf("%d\t",*(*(p+i)+j));//输出元素
//         }
//         printf("\n");
//     }
// }

// typedef struct air
// {
//     int num;//编号
//     char flag;//标记是否售出
//     char name[20];//乘客姓名
//     char sex[10];//性别
// }Seat;
// void init_seat(Seat seat[])//定义并初始化座位
// {
//     for(int i=0;i<12;i++)
//     {
//         seat[i].num=i+1;
//         seat[i].flag=0;
//         strcpy(seat[i].name,"");
//         strcpy(seat[i].sex,"");
//     }
// }
// void empty_seat(Seat seat[])//空座位
// {
//     printf("空座位编号:\n");
//     for(int i=0;i<12;i++)
//     {
//         if(seat[i].flag==0)
//         {
//             printf("%d  ",seat[i].num);
//         }
//     }
//     printf("\n");
// }
// void sold_seat(Seat seat[])//已售座位
// {
//     printf("已被售出座位的编号以及乘客的信息:\n");
//     for(int i=0;i<12;i++)
//     {
//         if(seat[i].flag == 1)
//         {
//             printf("编号:%d,姓名:%s,性别:%s\n",seat[i].num,seat[i].name,seat[i].sex);
//         }
//     }
//     printf("\n");
// }
// void buy_ticket(Seat seat[])//买票
// {
//     int seat_number;
//     printf("请输入您想要预定的座位(1-12)：");
//     scanf("%d",&seat_number);
//     if(seat_number<1||seat_number>12||seat[seat_number-1].flag)
//     {
//         printf("购票失败！\n");
//     }
//     else{
//         printf("请输入您的姓名:");
//         scanf("%s",seat[seat_number-1].name);
//         printf("请输入您的性别:");
//         scanf("%s",seat[seat_number-1].sex);
//         seat[seat_number-1].flag=1;
//         printf("购票成功!!\n");
//     }
// }
// void return_ticket(Seat seat[])//退票
// {
//     int seat_number;
//     printf("请输入您想要退的座位号(1-12)：");
//     scanf("%d",&seat_number);
//     if(seat_number<1||seat_number>12||seat[seat_number-1].flag==0)
//     {
//         printf("退票失败!\n");
//     }
//     else{
//         seat[seat_number-1].flag=0;
//         strcpy(seat[seat_number-1].name,"");
//         strcpy(seat[seat_number-1].sex,"");
//         printf("退票成功!\n");
//     }
// }
// void menu()
// {
//     printf("菜单:\n");
//     printf("1.显示所有未被分配的空座位编号\n");
//     printf("2.显示已被售出的座位编号及乘客信息\n");
//     printf("3.买票\n");
//     printf("4.退票\n");
//     printf("5.退出系统\n");
//     printf("请输入1~5\n");
// }
// int get_choice()
// {
//     int choice;
//     scanf("%d",&choice);
//     return choice;
// }
// int main(void)
// {
//     Seat seat[12];
//     init_seat(seat);
//     //Seat seat[12];
//     while(1)
//     {
//         menu();
//         int choice=get_choice();
//         switch(choice)
//         {
//             case 1:
//                 empty_seat(seat);
//                 printf("----------------------------\n");
//                 break;
//             case 2:
//                 sold_seat(seat);
//                 printf("----------------------------\n");
//                 break;
//             case 3:
//                 buy_ticket(seat);
//                 printf("----------------------------\n");
//                 break;
//             case 4:
//                 return_ticket(seat);
//                 printf("----------------------------\n");
//                 break;
//             case 5:
//                 printf("退出系统\n");
//                 printf("----------------------------\n");
//                 return 0;
//             default:
//                 printf("输出无效，请重新输入\n");
//         }
//     }
//     return 0;
// }

// #define n 100
// typedef struct 
// {
//     char num[10];//学号
//     char name[20];//姓名
//     float socre;//成绩
// }student;

// student stu[n];
// int flag=0;//录入文件的数量

// //读取学生数据
// void read_stu()
// {
//     //文件指针 打开文件
//     FILE *fp=fopen("student.txt","r");
//     if(!fp)
//     {
//         printf("文件打开失败\n");
//         return;
//     }
//     flag=0;
//     while(fscanf(fp,"%s %s %f",stu[flag].num,stu[flag].name,&stu[flag].socre)!=EOF)
//     {
//         flag++;
//         if(flag>=n)
//         {
//             break;
//         }
//     }
//     fclose(fp);
// }
// //写入文件
// void write_stu()
// {
//     FILE *fp =fopen("student.txt","w");
//     if(!fp)
//     {
//         printf("文件打开失败\n");
//         return;
//     }
//     for(int i=0;i<flag;i++)
//     {
//         fprintf(fp,"%s %s %.2f\n",stu[i].num,stu[i].name,stu[i].socre);
//     }
//     fclose(fp);
// }

// //录入数据
// void join_message(void)
// {
//     if(flag>=n)
//     {
//         printf("录入信息失败，已达上限\n");
//         return;
//     }
    
//     printf("请输入您的学号:");
//     scanf("%s",stu[flag].num);
//     printf("请输入您的姓名:");
//     scanf("%s",stu[flag].name);
//     printf("请输入您的成绩:");
//     scanf("%f",&stu[flag].socre);
//     flag++;
//     write_stu();
//     printf("信息录入成功\n");
// }
// void chaxun(void)//查询成绩
// {
//     char number[10];
//     char name1[20];
//     printf("请输入您的学号:");
//     scanf("%s",number);
//     printf("请输入您的姓名:");
//     scanf("%s",name1);
//     for (int i = 0; i < flag; i++)
//     {
//         if(strcmp(stu[i].num,number)==0 && strcmp(stu[i].name,name1)==0)
//         {
//             printf("成绩:%.2f\n",stu[i].socre);
//             return;
//         }
//     }
//     printf("打印失败，未找到该生\n");
// }
// int main(void)
// {
//     int ch;
//     read_stu();
//     while(1)
//     {
//         printf("1.录入信息\n");
//         printf("2.查询信息\n");
//         printf("3.退出系统\n");
//         printf("请选择功能:");
//         scanf("%d",&ch);
        
//         switch(ch)
//         {
//             case 1:
//                 join_message();
//                 break;
//             case 2:
//                 chaxun();
//                 break;
//             case 3:
//                 write_stu();
//                 return 0;
//             default:
//                 printf("退出系统\n");
//         }
//     }
//     return 0;
// }